iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
0
自我挑戰組

30天的css animation修練系列 第 13

實作 css animation - 水波動態裝飾文字

  • 分享至 

  • xImage
  •  

今天的主題是帶有水波動畫效果的裝飾性文字
這個效果跟 實作 css animation - 噪點背景動畫的原理其實一樣 只差在增加了以文字做為背景的剪裁
一樣把架構先寫好

<div class="center-wrap">
  <div class="loader">
    <h2 class="water-ani">
      effect
    </h2>
  </div>
  <div></div>
</div>

一樣把基本的css設定好,這邊比較特殊的就是
background-clip這個以文字用來做背景剪裁的屬性

*{
  font-family:'Lato',sans-serif;
}

body{
  background:#282828;
}
.center-wrap{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  margin:auto;
}

.loader h2{
  text-transform:uppercase;
  font-weight:bold;
  font-size:8rem;
  color:rgba(255,255,255,.2);
  background:url('https://image.ibb.co/j9p51L/wave-h120.png') repeat-x left bottom; 
 background-clip: text;
-webkit-background-clip: text;
}

到這邊的階段 會像下圖所示
https://ithelp.ithome.com.tw/upload/images/20181019/20112289GxNtcL2Tqh.png
接下來開始寫動畫的效果

.water-ani{
  animation:water-flow 15s linear infinite;
}

 @keyframes water-flow{
  0%{background-position:left -60px bottom -100px;}
  50%{background-position:left 600px bottom 20px;}
  100%{background-position:left 1200px bottom -100px;}
} 

建議這邊速度設定成 linear 線性,這個效果做加減速的話,看起來有點奇怪
另外 background-position 的數值可以依實際的素材大小做修改。
唯一要注意的是,不要讓圖片的底部露出來

最後附上本次的 codepen 如下
https://codepen.io/UHU/pen/bmMjRz


上一篇
實作 css animation - 收合區塊動畫
下一篇
實作 css animation - 色塊遮擋文字效果
系列文
30天的css animation修練30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言